package com.ruoyi.huanghefd.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * 高空作业审批单
 * @TableName high_work_approve_sheet
 */
@TableName(value ="high_work_approve_sheet")
@Data
public class HighWorkApproveSheet implements Serializable {
    /**
     * id
     */
    @TableField(value = "hs_id")
    private String hsId;

    /**
     * 高空作业审批单编号
     */
    @TableField(value = "hs_code")
    private String hsCode;

    /**
     * 审批状态
     */
    @TableField(value = "hs_state")
    private String hsState;

    /**
     * 部门班组
     */
    @TableField(value = "hs_dept")
    private String hsDept;

    /**
     * 作业地点
     */
    @TableField(value = "addr")
    private String addr;

    /**
     * 作业高度
     */
    @TableField(value = "high")
    private String high;

    /**
     * 作业内容
     */
    @TableField(value = "contxt")
    private String contxt;

    /**
     * 作业申请开始时间
     */
    @TableField(value = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 作业申请结束时间
     */
    @TableField(value = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 工作负责人id
     */
    @TableField(value = "principalid")
    private String principalid;

    /**
     * 工作负责人
     */
    @TableField(value = "principal")
    private String principal;

    /**
     * 监护人id
     */
    @TableField(value = "guardianid")
    private String guardianid;

    /**
     * 监护人
     */
    @TableField(value = "guardian")
    private String guardian;

    /**
     * 工作人员
     */
    @TableField(value = "member")
    private String member;

    /**
     * 工作人员人数
     */
    @TableField(value = "member_num")
    private Integer memberNum;

    /**
     * 作业人员身体条件符合要求,0-否，1-是
     */
    @TableField(value = "ms_body")
    private String msBody;

    /**
     * 作业人员着装符合工作要求,0-否，1-是
     */
    @TableField(value = "ms_clothes")
    private String msClothes;

    /**
     * 作业人员佩戴合格的安全帽,0-否，1-是
     */
    @TableField(value = "ms_safety_hat")
    private String msSafetyHat;

    /**
     * 配备数量足够的安全带，安全带经检验合格,0-否，1-是
     */
    @TableField(value = "ms_safety_belt")
    private String msSafetyBelt;

    /**
     * 作业人员携带有工具袋及安全绳,0-否，1-是
     */
    @TableField(value = "ms_work_bag")
    private String msWorkBag;

    /**
     * 30m以上高空作业配备通讯、联络工具,0-否，1-是
     */
    @TableField(value = "ms_msg_kit")
    private String msMsgKit;

    /**
     * 重直分层作业中间有隔离设施,0-否，1-是
     */
    @TableField(value = "ms_isolating")
    private String msIsolating;

    /**
     * 梯子、绳子符合安全规定,0-否，1-是
     */
    @TableField(value = "ms_rope_ladder")
    private String msRopeLadder;

    /**
     * 现场搭设的脚手架、吊篮、防护网、围栏符合安全规定,0-否，1-是
     */
    @TableField(value = "ms_scaffold")
    private String msScaffold;

    /**
     * 作业人员资质符合要求,0-否，1-是
     */
    @TableField(value = "ms_qualification")
    private String msQualification;

    /**
     * 高空作业作业危害识别,A-高处坠落,B-物体打击,C-火灾爆炸,D-灼烫,E-坍塌,F-机械伤害,G-设备损坏,H-中毒窒息,I-触电,J-其它
     */
    @TableField(value = "harm")
    private String harm;

    /**
     * harm=J时，这里填其他明细
     */
    @TableField(value = "harm_others")
    private String harmOthers;

    /**
     * 控制措施
     */
    @TableField(value = "measure")
    private String measure;

    /**
     * 以上安全防护措施是否符合要求,0-否，1-是
     */
    @TableField(value = "measure_is")
    private String measureIs;

    /**
     * 工作票负责人监护人签字时间
     */
    @TableField(value = "sign_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        HighWorkApproveSheet other = (HighWorkApproveSheet) that;
        return (this.getHsId() == null ? other.getHsId() == null : this.getHsId().equals(other.getHsId()))
            && (this.getHsCode() == null ? other.getHsCode() == null : this.getHsCode().equals(other.getHsCode()))
            && (this.getHsState() == null ? other.getHsState() == null : this.getHsState().equals(other.getHsState()))
            && (this.getHsDept() == null ? other.getHsDept() == null : this.getHsDept().equals(other.getHsDept()))
            && (this.getAddr() == null ? other.getAddr() == null : this.getAddr().equals(other.getAddr()))
            && (this.getHigh() == null ? other.getHigh() == null : this.getHigh().equals(other.getHigh()))
            && (this.getContxt() == null ? other.getContxt() == null : this.getContxt().equals(other.getContxt()))
            && (this.getStartTime() == null ? other.getStartTime() == null : this.getStartTime().equals(other.getStartTime()))
            && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()))
            && (this.getPrincipalid() == null ? other.getPrincipalid() == null : this.getPrincipalid().equals(other.getPrincipalid()))
            && (this.getPrincipal() == null ? other.getPrincipal() == null : this.getPrincipal().equals(other.getPrincipal()))
            && (this.getGuardianid() == null ? other.getGuardianid() == null : this.getGuardianid().equals(other.getGuardianid()))
            && (this.getGuardian() == null ? other.getGuardian() == null : this.getGuardian().equals(other.getGuardian()))
            && (this.getMember() == null ? other.getMember() == null : this.getMember().equals(other.getMember()))
            && (this.getMemberNum() == null ? other.getMemberNum() == null : this.getMemberNum().equals(other.getMemberNum()))
            && (this.getMsBody() == null ? other.getMsBody() == null : this.getMsBody().equals(other.getMsBody()))
            && (this.getMsClothes() == null ? other.getMsClothes() == null : this.getMsClothes().equals(other.getMsClothes()))
            && (this.getMsSafetyHat() == null ? other.getMsSafetyHat() == null : this.getMsSafetyHat().equals(other.getMsSafetyHat()))
            && (this.getMsSafetyBelt() == null ? other.getMsSafetyBelt() == null : this.getMsSafetyBelt().equals(other.getMsSafetyBelt()))
            && (this.getMsWorkBag() == null ? other.getMsWorkBag() == null : this.getMsWorkBag().equals(other.getMsWorkBag()))
            && (this.getMsMsgKit() == null ? other.getMsMsgKit() == null : this.getMsMsgKit().equals(other.getMsMsgKit()))
            && (this.getMsIsolating() == null ? other.getMsIsolating() == null : this.getMsIsolating().equals(other.getMsIsolating()))
            && (this.getMsRopeLadder() == null ? other.getMsRopeLadder() == null : this.getMsRopeLadder().equals(other.getMsRopeLadder()))
            && (this.getMsScaffold() == null ? other.getMsScaffold() == null : this.getMsScaffold().equals(other.getMsScaffold()))
            && (this.getMsQualification() == null ? other.getMsQualification() == null : this.getMsQualification().equals(other.getMsQualification()))
            && (this.getHarm() == null ? other.getHarm() == null : this.getHarm().equals(other.getHarm()))
            && (this.getHarmOthers() == null ? other.getHarmOthers() == null : this.getHarmOthers().equals(other.getHarmOthers()))
            && (this.getMeasure() == null ? other.getMeasure() == null : this.getMeasure().equals(other.getMeasure()))
            && (this.getMeasureIs() == null ? other.getMeasureIs() == null : this.getMeasureIs().equals(other.getMeasureIs()))
            && (this.getSignTime() == null ? other.getSignTime() == null : this.getSignTime().equals(other.getSignTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getHsId() == null) ? 0 : getHsId().hashCode());
        result = prime * result + ((getHsCode() == null) ? 0 : getHsCode().hashCode());
        result = prime * result + ((getHsState() == null) ? 0 : getHsState().hashCode());
        result = prime * result + ((getHsDept() == null) ? 0 : getHsDept().hashCode());
        result = prime * result + ((getAddr() == null) ? 0 : getAddr().hashCode());
        result = prime * result + ((getHigh() == null) ? 0 : getHigh().hashCode());
        result = prime * result + ((getContxt() == null) ? 0 : getContxt().hashCode());
        result = prime * result + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
        result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        result = prime * result + ((getPrincipalid() == null) ? 0 : getPrincipalid().hashCode());
        result = prime * result + ((getPrincipal() == null) ? 0 : getPrincipal().hashCode());
        result = prime * result + ((getGuardianid() == null) ? 0 : getGuardianid().hashCode());
        result = prime * result + ((getGuardian() == null) ? 0 : getGuardian().hashCode());
        result = prime * result + ((getMember() == null) ? 0 : getMember().hashCode());
        result = prime * result + ((getMemberNum() == null) ? 0 : getMemberNum().hashCode());
        result = prime * result + ((getMsBody() == null) ? 0 : getMsBody().hashCode());
        result = prime * result + ((getMsClothes() == null) ? 0 : getMsClothes().hashCode());
        result = prime * result + ((getMsSafetyHat() == null) ? 0 : getMsSafetyHat().hashCode());
        result = prime * result + ((getMsSafetyBelt() == null) ? 0 : getMsSafetyBelt().hashCode());
        result = prime * result + ((getMsWorkBag() == null) ? 0 : getMsWorkBag().hashCode());
        result = prime * result + ((getMsMsgKit() == null) ? 0 : getMsMsgKit().hashCode());
        result = prime * result + ((getMsIsolating() == null) ? 0 : getMsIsolating().hashCode());
        result = prime * result + ((getMsRopeLadder() == null) ? 0 : getMsRopeLadder().hashCode());
        result = prime * result + ((getMsScaffold() == null) ? 0 : getMsScaffold().hashCode());
        result = prime * result + ((getMsQualification() == null) ? 0 : getMsQualification().hashCode());
        result = prime * result + ((getHarm() == null) ? 0 : getHarm().hashCode());
        result = prime * result + ((getHarmOthers() == null) ? 0 : getHarmOthers().hashCode());
        result = prime * result + ((getMeasure() == null) ? 0 : getMeasure().hashCode());
        result = prime * result + ((getMeasureIs() == null) ? 0 : getMeasureIs().hashCode());
        result = prime * result + ((getSignTime() == null) ? 0 : getSignTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", hsId=").append(hsId);
        sb.append(", hsCode=").append(hsCode);
        sb.append(", hsState=").append(hsState);
        sb.append(", hsDept=").append(hsDept);
        sb.append(", addr=").append(addr);
        sb.append(", high=").append(high);
        sb.append(", contxt=").append(contxt);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", principalid=").append(principalid);
        sb.append(", principal=").append(principal);
        sb.append(", guardianid=").append(guardianid);
        sb.append(", guardian=").append(guardian);
        sb.append(", member=").append(member);
        sb.append(", memberNum=").append(memberNum);
        sb.append(", msBody=").append(msBody);
        sb.append(", msClothes=").append(msClothes);
        sb.append(", msSafetyHat=").append(msSafetyHat);
        sb.append(", msSafetyBelt=").append(msSafetyBelt);
        sb.append(", msWorkBag=").append(msWorkBag);
        sb.append(", msMsgKit=").append(msMsgKit);
        sb.append(", msIsolating=").append(msIsolating);
        sb.append(", msRopeLadder=").append(msRopeLadder);
        sb.append(", msScaffold=").append(msScaffold);
        sb.append(", msQualification=").append(msQualification);
        sb.append(", harm=").append(harm);
        sb.append(", harmOthers=").append(harmOthers);
        sb.append(", measure=").append(measure);
        sb.append(", measureIs=").append(measureIs);
        sb.append(", signTime=").append(signTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}